## Uma estimativa da incerteza na previsao do modelo ##

babies <- read.table(file = "babies.txt", header = TRUE, sep = "", as.is = TRUE)
summary(babies)

babies$gestation[babies$gestation == 999] = NA
babies$weight[babies$weight == 999] = NA
babies$parity[babies$parity == 9] = NA
babies$age[babies$age == 99] = NA
babies$height[babies$height == 99] = NA
babies$smoke[babies$smoke == 9] = NA
summary(babies)

#Convero do peso para kg
babies$bwt <- babies$bwt*0.0283495 
#Modelo peso - tempo gestao
lm.babies <- lm(babies$bwt~babies$gestation) 

#Vetor para representar a varivel preditora como uma sequncia de 100 valores 
#compreendidos entre os valores mximo e mnimo da variavel preditora observada
vetor.seq100 <- seq(from=148, to=353,length.out=100)
vetor.seq100
coef(lm.babies) 
babies1 <- coef(lm.babies)[1] + coef(lm.babies)[2]*vetor.seq100
babies1

#SSX Desvios quadraticos sem NAs
ssx <- sum((na.omit(babies$gestation) - mean(babies$gestation, na.rm=TRUE))^2)
ssx

#Variancia de bwt 
s2 <-var(babies$bwt)

#N de observaes 
n <- length(na.omit(babies$gestation))

#Mdia de x 
x.media <- mean(babies$gestation, na.rm=TRUE)
x.media

#Erro padrao 
erro <- sqrt((((vetor.seq100 - x.media)^2/ssx)+(1/n))*s2)
erro

#Calculo t: 
t <- qt(0.975, (n-2))

int.conf <- t*erro
int.conf

#Grfico da incerteza do modelo
plot(bwt~gestation, data=babies, xlab="Tempo de gestao (dias)", ylab="Peso do beb (kg)") 
abline(lm.babies)
lines(vetor.seq100, (babies1+erro), col="red")
lines(vetor.seq100, (babies1-erro), col="red")


###Galileu estava certo? 

#Ajuste de Polinomios 
init.h = c(600, 700, 800, 950, 1100, 1300, 1500)
h.d = c(253, 337, 395, 451, 495, 534, 573)
#Modelo 1 - reta
mod1 <- lm(h.d~init.h) 
#Modelo 2 - parabola
mod2 <- update(mod1,.~. +I(init.h^2)) 
#Comparao Modelos 1 e 2
anova(mod1, mod2) 

#Avalie se um polinomio de terceiro grau e um melhor modelo para descrever os 
#dados do experimento de Galileu
#Modelo 3
mod3 <- update(mod2,.~. +I(init.h^3))
anova(mod2, mod3)

#O experimento de Galileu  melhor descrito pelo modelo 3 (polinomio terceiro grau) 
#pois nele mais dados so explicados significativamente do que no modelo anterior
#(segundo grau) o qual j explicava tambm mais dados que o primeiro modelo 
#(primeiro grau).  

